package mx.ipn.negocios.radioperadora;

import java.sql.Date;
import mx.ipn.negocios.ConexionConPersistencia;
import mx.ipn.to.*;
public class OperadoraBO {

	public static boolean registrarUnidad(UnidadTO unidad)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("registrarUnidad",unidad,Boolean.class)).booleanValue();
	}
	public static short modificarUnidad(UnidadTO unidad)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarUnidad",unidad,Short.class)).shortValue();
	}
	public static short eliminarUnidad(int id)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("eliminarUnidad",id,Short.class)).shortValue();
	}
	public static UnidadTO[] obtenerUnidades()
	{
		return((UnidadTO[])ConexionConPersistencia.invocaServicio("obtenerUnidades",UnidadTO[].class));	
	}
	public static UnidadTO[] getDatosUnidad(String placas)
	{
		return((UnidadTO[])ConexionConPersistencia.invocaServicio("getDatosUnidad",placas,UnidadTO[].class));	
	}
	/**********************servicio**********************/
	public static boolean asignarServicio(BitacoraServicioTO bitacorato)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("asignarServicio",bitacorato,Boolean.class)).booleanValue();
	}
	public static BitacoraServicioTO[] buscarServicios(String fecha,String cliente)
	{
		String []arg=new String[2];
		arg[0]=fecha;
		arg[1]=cliente;
		return ((BitacoraServicioTO[])ConexionConPersistencia.invocaServicio("buscarServicios",arg,BitacoraServicioTO[].class));
	}
	public static short cancelarServicio(BitacoraServicioTO bitacorato)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("cancelarServicio",bitacorato,Short.class)).shortValue();
	}
	/**********************chofer**********************/
	public static boolean agregarChofer(ChoferTO chofer)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("agregarChofer",chofer,Boolean.class)).booleanValue();
	}
	public static short modificarChofer(ChoferTO chofer)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarChofer",chofer,Short.class)).shortValue();
	}
	public static short eliminarChofer(int id)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("eliminarChofer",id,Short.class)).shortValue();
	}
	public static ChoferTO[] obtenerChoferes()
	{
       return ((ChoferTO[])ConexionConPersistencia.invocaServicio("obtenerChoferes",ChoferTO[].class));
	}
	public static ChoferTO[] getDatosChofer(String nombre,String apellidoPaterno)
	{
		String []arg=new String[2];
		arg[0]=nombre;
		arg[1]=apellidoPaterno;
       return ((ChoferTO[])ConexionConPersistencia.invocaServicio("getDatosChofer",arg,ChoferTO[].class));
	}
	/**********************base**********************/
	public static BaseTO[] seleccionarBases()
	{
		return (BaseTO[])ConexionConPersistencia.invocaServicio("seleccionarBases", BaseTO[].class);
	}
	
	public static boolean agregarBase(BaseTO base)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("agregarBase",base,Boolean.class)).booleanValue();
	}
	public static short modificarBase(BaseTO base)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarBase",base,Short.class)).shortValue();
	}
	public static short eliminarBase(int id)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("eliminarBase",id,Short.class)).shortValue();
	}
	public static BaseTO getDatosBase(short id)
	{
		return ((BaseTO)ConexionConPersistencia.invocaServicio("getDatosBase",id,BaseTO.class));
	}
	/**********************economico**********************/
	public static boolean agregarEconomico(EconomicoTO economico)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("agregarEconomico",economico,Boolean[].class)).booleanValue();
	}
	public static short modificarEconomico(EconomicoTO economico)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarEconomico",economico,Short.class)).shortValue();
	}
	public static short eliminarEconomico(int id)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("eliminarEconomico",id,Short.class)).shortValue();
	}
	public static EconomicoTO[] obtenerEconomicos()
	{
		return ((EconomicoTO[])ConexionConPersistencia.invocaServicio("obtenerEconomicos",EconomicoTO[].class));
	}
	public static EconomicoTO[] getDatosEconomico()
	{
		return ((EconomicoTO[])ConexionConPersistencia.invocaServicio("getDatosEconomico",EconomicoTO[].class));
	}
	/**********************castigo**********************/
	public static boolean agregarCastigo(BitacoraCastigoChoferTO castigo)
	{
		return ((Boolean)ConexionConPersistencia.invocaServicio("agregarCastigo",castigo,Boolean.class)).booleanValue();
	}
	public static short modificarCastigo(BitacoraCastigoChoferTO castigo)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarCastigo",castigo,Short.class)).shortValue();
	}
    public static BitacoraCastigoChoferTO getDatosCastigo(Date inicio, Date fin)
	{
    	Date []arg=new Date[2];
		arg[0]=inicio;
		arg[1]=fin;
    	return ((BitacoraCastigoChoferTO)ConexionConPersistencia.invocaServicio("getDatosCastigo",arg,BitacoraCastigoChoferTO.class));
	}
	/**********************choferunidad**********************/
	public static int asignarChoferUnidad(BitacoraChoferUnidadTO choferunidad)
	{
		return (Integer) ConexionConPersistencia.invocaServicio("asignarChoferUnidad",choferunidad,Integer.class);
	}
	public static short modificarChoferUnidad(BitacoraChoferUnidadTO choferunidad)
	{
		return ((Short)ConexionConPersistencia.invocaServicio("modificarChoferUnidad",choferunidad,Short.class));
	}
	public static BitacoraChoferUnidadTO[] getDatosChoferUnidad(Date inicio, Date fin)
	{
		Date []arg=new Date[2];
		arg[0]=inicio;
		arg[1]=fin;
		return((BitacoraChoferUnidadTO[])ConexionConPersistencia.invocaServicio("getDatosChoferUnidad",arg,BitacoraChoferUnidadTO.class));
	}
}
